home *** CD-ROM | disk | FTP | other *** search
/ Super PC 34 / Super PC 34 (Shareware).iso / spc / UTIL / DJGPP2 / V2 / DJTST200.ZIP / tests / libc / go32 / infoblk.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-17  |  2.5 KB  |  70 lines

  1. #include <stdio.h>
  2. #include <go32.h>
  3. #include <dpmi.h>
  4.  
  5. static const char *
  6. mname(int m)
  7. {
  8.   switch (m)
  9.   {
  10.     case _GO32_RUN_MODE_UNDEF:
  11.       return "undefined";
  12.     case _GO32_RUN_MODE_RAW:
  13.       return "raw";
  14.     case _GO32_RUN_MODE_XMS:
  15.       return "xms";
  16.     case _GO32_RUN_MODE_VCPI:
  17.       return "vcpi";
  18.     case _GO32_RUN_MODE_DPMI:
  19.       return "dpmi";
  20.     default:
  21.       return "unrecognized";
  22.   }
  23. }
  24.  
  25. int
  26. main(void)
  27. {
  28.   printf("  size_of_this_structure_in_bytes = 0x%08lx (%ld)\n",
  29.     _go32_info_block.size_of_this_structure_in_bytes,
  30.     _go32_info_block.size_of_this_structure_in_bytes);
  31.   printf("  linear_address_of_primary_screen = 0x%08lx (%ld)\n",
  32.     _go32_info_block.linear_address_of_primary_screen,
  33.     _go32_info_block.linear_address_of_primary_screen);
  34.   printf("  linear_address_of_secondary_screen = 0x%08lx (%ld)\n",
  35.     _go32_info_block.linear_address_of_secondary_screen,
  36.     _go32_info_block.linear_address_of_secondary_screen);
  37.   printf("  linear_address_of_transfer_buffer = 0x%08lx (%ld)\n",
  38.     _go32_info_block.linear_address_of_transfer_buffer,
  39.     _go32_info_block.linear_address_of_transfer_buffer);
  40.   printf("  size_of_transfer_buffer = 0x%08lx (%ld)\n",
  41.     _go32_info_block.size_of_transfer_buffer,
  42.     _go32_info_block.size_of_transfer_buffer);
  43.   printf("  pid = 0x%08lx (%ld)\n",
  44.     _go32_info_block.pid,
  45.     _go32_info_block.pid);
  46.   printf("  master_interrupt_controller_base = 0x%02x (%d)\n",
  47.     _go32_info_block.master_interrupt_controller_base,
  48.     _go32_info_block.master_interrupt_controller_base);
  49.   printf("  slave_interrupt_controller_base = 0x%02x (%d)\n",
  50.     _go32_info_block.slave_interrupt_controller_base,
  51.     _go32_info_block.slave_interrupt_controller_base);
  52.   printf("  selector_for_linear_memory = 0x%08x (%d)\n",
  53.     _go32_info_block.selector_for_linear_memory,
  54.     _go32_info_block.selector_for_linear_memory);
  55.   printf("  linear_address_of_stub_info_structure = 0x%08lx (%ld)\n",
  56.     _go32_info_block.linear_address_of_stub_info_structure,
  57.     _go32_info_block.linear_address_of_stub_info_structure);
  58.   printf("  linear_address_of_original_psp = 0x%08lx (%ld)\n",
  59.     _go32_info_block.linear_address_of_original_psp,
  60.     _go32_info_block.linear_address_of_original_psp);
  61.     
  62.   printf("  run mode is %s (info is 0x%04x (%d.%d))\n",
  63.     mname(_go32_info_block.run_mode),
  64.     _go32_info_block.run_mode_info,
  65.     _go32_info_block.run_mode_info >> 8,
  66.     _go32_info_block.run_mode_info & 0xff);
  67.  
  68.   return 0;
  69. }
  70.